//
//  HMUserAccount.swift
//  新浪微博
//
//  Created by 饶鹏伟 on 16/4/10.
//  Copyright © 2016年 饶鹏伟. All rights reserved.
//

import UIKit

//定义一个 模型 保存需要的用户数据
//给需要保存的用户信息添加属性  其他的不需要保存的就直接过滤掉
class HMUserAccount: NSObject {
    
    //用户授权的唯一票据
    var access_token: String?
    //access_token的生命周期，单位是秒数。 token 在多少秒(expires_in)之后会过期
    //10 + 当前时间  => 获取具体的过期的日期
    //当前的日期 和 过期日期比较
    var expires_in: NSTimeInterval = 0{
        
        //在外界给expires_in这个属性赋值的时候会调用
        didSet{
            
          //立即计算过期日期
            expires_date = NSDate(timeIntervalSinceNow: expires_in)
            
        }
        
    }
    
    //添加过期日期的字段 开发者账号的过期日期是 5年, 测试账号的过期日期是 1天
    var expires_date: NSDate?
    
    //标识唯一用户的id
    var uid: String?
    //用户显示名称
    var name: String?
    //用户头像 180 * 180
    var avatar_large: String?
    //KVC赋值
    init(dict : [String : AnyObject]) {
        super.init()
        setValuesForKeysWithDictionary(dict)
    }

    //过滤掉没有的属性 不报错
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
        
        
    }
    
    
    //将对象转化为字符串 方便观察 属性get方法
    override var description: String{
        
        let keys=["access_token","expires_in","uid","name","avatar_large"]
        
        let dict=self.dictionaryWithValuesForKeys(keys)
        
        return dict.description
    }
}
